unit uextra;

interface
   uses crt;
   procedure Box(l1,c1,l2,c2: byte);
   procedure Titulo( str: string );
   procedure Sep(c: char);
   function  MenuPrinc : Integer;
   function  Mensagem( str : string ) : char;

implementation
   function Mensagem( str : string ) : char;
   var
      Op: Char;
   begin
      gotoxy(01,10); write( str ); readln( Op );
      Mensagem:=Op;
   end;

   procedure Sep(c: char);
      begin

      end;

   function MenuPrinc : Integer;
   var
      Op: Integer;
   begin
      TextColor(White);
      TextBackGround(Black);
      window(02,05,79,24);
      clrscr;

      writeln('1..... Cadastro de produtos');
      writeln('2..... Cadastro de clientes');
      writeln('3... Cadastro de vendedores');
      writeln('4........ Venda de produtos');
      writeln('5..... Relatorio de Estoque');
      writeln('6.... Relatorio de clientes');
      writeln('7.. Relatorio de vendedores');
      writeln('8...... Relatorio de vendas');
      writeln('9.......... Salvar arquivos');
      writeln('0........ Finalizar sistema');
      writeln('');
      write('ESCOLHA UMA OPCAO: '); readln( Op );

      MenuPrinc:=Op;
   end;

   procedure Titulo( str: string );
   var
      DeslocH: Byte;
   begin
      DeslocH:=trunc((80-Length( str ) ) / 2);

      TextColor(Blue);
      TextBackGround(White);

      window(01,01,80,03);
      clrscr;

      gotoxy( DeslocH, 02 ); write( str );

      TextColor(White);
      TextBackGround(Black);
   end;

   procedure Box(l1,c1,l2,c2: byte);
   var
      Cnt: byte;
      DeslocH, DeslocV: byte;
   begin
      DeslocH:=c2-c1;
      DeslocV:=l2-l1;

      gotoxy(c1,l1); write('x');
      gotoxy(c2,l1); write('x');
      gotoxy(c1,l2); write('x');
      gotoxy(c2,l2); write('x');

      for Cnt:=(c1+1) to (DeslocH+1) do
      begin
         gotoxy(Cnt,l1); write('x');
      end;

      for Cnt:=(l1+1) to (DeslocV+1) do
      begin
         gotoxy(c1,Cnt); write ('x');
         gotoxy(c2,Cnt); write ('x');
      end;

      for Cnt:=(c1+1) to (DeslocH+1) do
      begin
         gotoxy(Cnt,l2); write('x');
      end;
   end;
end.